[INFO] cloning repository https://github.com/pgebhardt/aoc2021
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pgebhardt/aoc2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpgebhardt%2Faoc2021", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpgebhardt%2Faoc2021'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3d93be53948c869f67e4e6946c91581c4027c786
[INFO] fixing pgebhardt/aoc2021 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpgebhardt%2Faoc2021" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pgebhardt/aoc2021
[INFO] finished tweaking git repo https://github.com/pgebhardt/aoc2021
[INFO] tweaked toml for git repo https://github.com/pgebhardt/aoc2021 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pgebhardt/aoc2021 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pgebhardt/aoc2021 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a
[INFO] running `Command { std: "docker" "start" "c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]     Checking futures-sink v0.3.18
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]    Compiling pin-project-internal v0.4.28
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]    Compiling tokio v1.14.0
[INFO] [stderr]     Checking futures-io v0.3.18
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]    Compiling beef v0.5.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]     Checking num-integer v0.1.44
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking ndarray v0.15.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling futures-macro v0.3.18
[INFO] [stderr]    Compiling tokio-macros v1.6.0
[INFO] [stderr]    Compiling logos-derive v0.12.0
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling snafu-derive v0.6.10
[INFO] [stderr]     Checking structopt v0.3.25
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]     Checking pin-project v0.4.28
[INFO] [stderr]     Checking snafu v0.6.10
[INFO] [stderr]     Checking logos v0.12.0
[INFO] [stderr]     Checking futures-executor v0.3.18
[INFO] [stderr]     Checking futures v0.3.18
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking aoc2021 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `aoc2021`
[INFO] [stderr]  --> src/advent/day02.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/advent/day02.rs:6:16
[INFO] [stderr]              |
[INFO] [stderr]            6 | #[derive(Logos + use<'s>, Debug, PartialEq)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:23:7
[INFO] [stderr]               |
[INFO] [stderr]            23 |     #[error]
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day09.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                       ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day09.rs:51:51
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|&(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |       ^^^^^
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day11.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                               ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                          ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: match on the reference with a reference pattern and borrow explicitly using a variable binding mode
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|&((_, &e), ref f)| e > 9 && !**f)
[INFO] [stdout]    |                          +          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day11.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                      ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|&(_, &f)| f)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day04.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day04.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                      ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|&(_, &marked)| !marked)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u32, day02::Command>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/advent/day02.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/advent/day02.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[regex(" +", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:17:7
[INFO] [stderr]               |
[INFO] [stderr]            17 |     #[regex("[0-9]+", |lex| lex.slice().parse())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:14:7
[INFO] [stderr]               |
[INFO] [stderr]            14 |     #[token("up")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:11:7
[INFO] [stderr]               |
[INFO] [stderr]            11 |     #[token("down")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]             --> src/advent/day02.rs:8:7
[INFO] [stderr]              |
[INFO] [stderr]            8 |     #[token("forward")]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            7 + #[derive(Logos)]
[INFO] [stderr]            8 | enum Command {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `day02::Command` in the current scope
[INFO] [stderr]              --> src/advent/day02.rs:75:36
[INFO] [stderr]               |
[INFO] [stderr]             7 | enum Command {
[INFO] [stderr]               | ------------ variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            75 |         let mut command = Command::lexer(&line);
[INFO] [stderr]               |                                    ^^^^^ variant, associated function, or constant not found in `day02::Command`
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 8 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `aoc2021`
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day09.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                       ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day09.rs:51:51
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|&(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> src/advent/day02.rs
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day11.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                               ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                          ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: match on the reference with a reference pattern and borrow explicitly using a variable binding mode
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|&((_, &e), ref f)| e > 9 && !**f)
[INFO] [stdout]    |                          +          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day11.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                      ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|&(_, &f)| f)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             --> src/advent/day02.rs:6:16
[INFO] [stdout] warning: cannot explicitly dereference within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/advent/day04.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day04.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                      ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|&(_, &marked)| !marked)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u32, day02::Command>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/advent/day02.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/advent/day02.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            6 | #[derive(Logos + use<'s>, Debug, PartialEq)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:23:7
[INFO] [stderr]               |
[INFO] [stderr]            23 |     #[error]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[regex(" +", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:17:7
[INFO] [stderr]               |
[INFO] [stderr]            17 |     #[regex("[0-9]+", |lex| lex.slice().parse())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:14:7
[INFO] [stderr]               |
[INFO] [stderr]            14 |     #[token("up")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/advent/day02.rs:11:7
[INFO] [stderr]               |
[INFO] [stderr]            11 |     #[token("down")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | enum Command {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]             --> src/advent/day02.rs:8:7
[INFO] [stderr]              |
[INFO] [stderr]            8 |     #[token("forward")]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            7 + #[derive(Logos)]
[INFO] [stderr]            8 | enum Command {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `day02::Command` in the current scope
[INFO] [stderr]              --> src/advent/day02.rs:75:36
[INFO] [stderr]               |
[INFO] [stderr]             7 | enum Command {
[INFO] [stderr]               | ------------ variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            75 |         let mut command = Command::lexer(&line);
[INFO] [stderr]               |                                    ^^^^^ variant, associated function, or constant not found in `day02::Command`
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 8 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.57s
[INFO] [stderr] crater-edition-check: aoc2021 v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking aoc2021 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day09.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                       ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day09.rs:51:51
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|&(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day09.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                       ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day09.rs:51:51
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for ((i, j), v) in map.indexed_iter().filter(|&(_, &v)| v != 9) {
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day11.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                               ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                          ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern and borrow explicitly using a variable binding mode
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|&((_, &e), ref f)| e > 9 && !**f)
[INFO] [stdout]    |                          +          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day11.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                      ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|&(_, &f)| f)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day11.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                               ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|((_, &e), f)| e > 9 && !**f)
[INFO] [stdout]    |                          ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern and borrow explicitly using a variable binding mode
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 .filter(|&((_, &e), ref f)| e > 9 && !**f)
[INFO] [stdout]    |                          +          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day11.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day11.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|(_, &f)| f)
[INFO] [stdout]    |                      ^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .filter(|&(_, &f)| f)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Use of ambiguously glob imported trait `Array`
[INFO] [stdout]   --> src/advent/day05.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout]  1 | use cgmath::{prelude::*, Vector2};
[INFO] [stdout]    |              ------- `Array` imported ambiguously here
[INFO] [stdout] ...
[INFO] [stdout] 52 |     let mut err = delta.sum();
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: Import `Array` explicitly
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #147992 <https://github.com/rust-lang/rust/issues/147992>
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_imported_traits)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Use of ambiguously glob imported trait `Array`
[INFO] [stdout]   --> src/advent/day05.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout]  1 | use cgmath::{prelude::*, Vector2};
[INFO] [stdout]    |              ------- `Array` imported ambiguously here
[INFO] [stdout] ...
[INFO] [stdout] 52 |     let mut err = delta.sum();
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: Import `Array` explicitly
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #147992 <https://github.com/rust-lang/rust/issues/147992>
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_imported_traits)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day04.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day04.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                      ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|&(_, &marked)| !marked)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/advent/day04.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/advent/day04.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|(_, &marked)| !marked)
[INFO] [stdout]    |                      ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 79 |             .filter(|&(_, &marked)| !marked)
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc2021` (bin "aoc2021" test) due to 4 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `aoc2021` (bin "aoc2021") due to 4 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a", kill_on_drop: false }`
[INFO] [stdout] c0ba42e863ffc189103907ef85109feb0528a95df3644879f71bd30fd6ff495a
